27 research outputs found

    Future smart energy software houses

    Get PDF
    Software is the key enabling technology (KET) as digitalization is cross-cutting future energy systems spanning the production sites, distribution networks, and consumers particularly in electricity smart grids. In this paper, we identify systematically what particular software competencies are required in the future energy systems focusing on electricity system smart grids. The realizations of that can then be roadmapped to specific software capabilities of the different future software houses' across the networks. Our instrumental method is software competence development scenario path construction with environmental scanning of the related systems elements. The vision of future software-enabled smart energy systems with software houses is mapped with the already progressing scenarios of energy systems transitions on the one hand coupled with the technology foresight of software on the other hand. Grounding on the Smart Grid Reference Architecture Model (SGAM), it tabulates the distinguished software competencies and attributes them to the different partiesincluding customers/consumers (Internet of People, IoP)involved in future smart energy systems. The resulting designations can then be used to recognize and measure the necessary software competencies (e.g., fog computing) in order to be able to develop them in-house, or for instance to partner with software companies, depending on the future desirability. Software-intensive systems development competence becomes one of the key success factors for such cyber-physical-social systems (CPSS). Further futures research work is chartered with the Futures Map frame. This paper contributes preliminarily toward that by identifying pictures of the software-enabled futures and the connecting software competence-based scenario paths.Peer reviewe

    On Programmable Interactions: Principles, Concepts and Challenges of Co-Located and Social Interplay

    Get PDF
    Computing machines and humans interacting has long followed similar principles – A human gives an input command to a machine, which the machine then executes, gives an output, and waits for the next human input. Thus the interactions are user-initiated, requiring constant active participation, and much attention. Despite this, the number of such interactions has kept increasing since computing has now pervaded all areas of human life. Take mobile devices as an example: they are now considered as magic remote controllers that enable interaction with the whole world. Hence, people are now glued to their mobiles, which makes them more detached from their surroundings and other people nearby. Consequently, there is no need nor desire to socialize with other people in close proximity. Presently, the physical world and the cyber world are melting into each other, and new cyber-physical devices are rapidly emerging. This means that an ever-increasing number of computers are awaiting user input.This wide array of computing devices and heterogeneous networking capabilities have great potential for improving the ways human interactions with computing can work. The problem is that the current ways of implementing software are not well-suited for implementing interactions where multiple co-located people and devices participate. The tools mainly support implementing apps where a sole user interacts with the device, and possibly, remotely with another person. Vendor-neutrality also causes many challenges as some manufacturers only focus on improving interoperability within ecosystems.This thesis approaches computing with a novel concept of programmable interactions. The idea is to consider the interactions as first class citizens in software development. Instead of focusing on how a human interacts with a machine, the focus is on how the machines in the same space can share resources and jointly interact with each other, serving the humans – the programmable interactions are based on principles that put humans into a central role in the interactions. For developing such interactions, the thesis presents an Action-Oriented Programming model and its runtime environment. Human and social aspects are considered with a concept of companion devices. These companions carry personal profiles about their owners, and represent them for other devices that are nearby. The devices socialize and interact with each other as well as with their owners proactively, meaning that they are also allowed to initiate interactions.The approaches and concepts that are presented form the basis for developing software where interactions play a key role. These programmable interactions are based on a set of human-centric principles, and the task of enabling them is highly demanding. Therefore, enabling programmable interactions should rather be considered as a continuous process that improves over time. The most crucial challenges have been identified in this thesis together with a view on how the current technology can be used to respond to them

    Modern Web Frameworks : A Comparison of Rendering Performance

    Get PDF
    Recent years have seen the rise of a new generation of UI frameworks for web application development. These frameworks differ from previous generations of JavaScript frameworks in that they define a declarative application development model, where transitions in the state of the UI are managed by the framework. This potentially greatly simplifies application development, but requires the framework to implement a rendering strategy which translates changes in application state into changes in the state of the UI. The performance characteristics of these rendering strategies have thus far been poorly studied. In this article, we describe the rendering strategies used in the frameworks Angular, React, Vue, Svelte and Blazor, which represent some of the most influential and widely used modern web frameworks. We find significant differences in the scaling of costs in their rendering strategies with potentially equally significant practical performance implications. To verify these differences, we implement a number of benchmarks that measure the scaling of rendering costs as an application grows in complexity. The results of our benchmarks confirm that under certain circumstances, performance differences between frameworks can range up to several orders of magnitude when performing the same tasks. Furthermore, we find that the relative performance of a rendering strategy can be effectively estimated based on factors affecting the input sizes of render loops. The best performing rendering strategies are found to be ones which minimize input sizes using techniques such as compile-time optimization and reactive programming models.Peer reviewe

    Challenges When Moving from Monolith to Microservice Architecture

    Get PDF
    One of the more recent avenues towards more flexible installations and execution is the transition from monolithic architecture to microservice architecture. In such architecture, where microservices can be more liberally updated, relocated, and replaced, building liquid software also becomes simpler, as adaptation and deployment of code is easier than when using a monolithic architecture where almost everything is connected. In this paper, we study this type of transition. The objective is to identify the reasons why the companies decide to make such transition, and identify the challenges that companies may face during this transition. Our method is a survey based on different publications and case studies conducted about these architectural transitions from monolithic architecture to microservices. Our findings reveal that typical reasons moving towards microservice architecture are complexity, scalability and code ownership. The challenges, on the other hand, can be separated to architectural challenges and organizational challenges. The conclusion is that when a software company grows big enough in size and starts facing problems regarding the size of the codebase, that is when microservices can be a good way to handle the complexity and size. Even though the transition provides its own challenges, these challenges can be easier to solve than the challenges that monolithic architecture presents to company.Peer reviewe

    Case Study: Building a Serverless Messenger Chatbot

    Get PDF
    Major chat platforms, such as Facebook Messenger, have recently added support for chatbots, thus making chatbots more accessible for the end users. This paper presents a case study on building and designing a Messenger chatbot for a media company. The chatbot uses a Serverless Microservice architecture which was implemented using Amazon Web Services (AWS) including API Gateway, Lambda, DynamoDB, SNS and CloudWatch. The paper presents the architecture and reports the findings regarding the design and the final implementation. These findings are also compared the to other recent studies around the same emerging topic.Peer reviewe

    On the Inherent Creativity of Self-Adaptive Systems

    Get PDF
    We argue that frameworks employed in architecting self-adaptive systems allow the system to exhibit creative behaviour, and that many of the existing self-adaptive systems operating in domains which are typically not associated with creativity are inherently creative. However, even the current state-of-the-art solutions do not fully exploit stronger forms of creative behaviour, which are required in complex environments, where the system constantly encounters fundamentally novel situations. To this end, software development necessitates a paradigm shift parallel to moving from procedural design methodology toward self-aware systems where the system adapts to its context at run time.Peer reviewe

    Towards novel and intentional cooperation of diverse autonomous robots : An architectural approach

    Get PDF
    Publisher Copyright: © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).In most autonomous robot approaches, the individual robot’s goals and cooperation behavior are fixed during the design. Moreover, the robot’s design may limit its ability to perform other than initially planned tasks. This leaves little room for novel dynamic cooperation where new (joint) actions could be formed or goals adjusted after deployment. In this paper, we address how situational context augmented with peer modeling can foster cooperation opportunity identification and cooperation planning. As a practical contribution, we introduce our new software architecture that enables developing, training, testing, and deploying dynamic cooperation solutions for diverse autonomous robots. The presented architecture operates in three different worlds: in the Real World with real robots, in the 3D Virtual World by emulating the real environments and robots, and in an abstract 2D Block World that fosters developing and studying large-scale cooperation scenarios. Feedback loops among these three worlds bring data from one world to another and provide valuable information to improve cooperation solutions.Peer reviewe

    An Architectural Approach for Enabling and Developing Cooperative Behaviour in Diverse Autonomous Robots

    Get PDF
    The paper introduces an architecture for robot-to-robot cooperation which takes into consideration how situational context augmented with peer modeling fosters cooperation opportunity identification and cooperation planning. The presented architecture allows developing, training, testing, and deploying dynamic cooperation solutions for diverse autonomous robots using ontology-based reasoning. The architecture operates in three different worlds: in the Real World with real robots, in a 3D Virtual World by emulating the real environments and robots, and in an abstract Block World that enables developing and studying large-scale cooperation scenarios. We describe an assessment practice for our architecture and cooperation procedures, which is based on scenarios implemented in all three worlds, and provide initial results of stress testing the cooperation procedures in the Block World. Moreover, as the core part of our architecture can operate in all the three worlds, development of the robot cooperation with the architecture can regularly accommodate insights gained from experimenting and testing in one world as improvements in another. We report our insights from developing the architecture and cooperation procedures as additional research outcomes.Peer reviewe
    corecore